package cn.tedu._04mybatis.mapper;

import cn.tedu._04mybatis.pojo.entity.Weibo;
import cn.tedu._04mybatis.pojo.vo.*;
import org.apache.ibatis.annotations.*;

import java.sql.ResultSet;
import java.util.List;

@Mapper
public interface WeiboMapper {
    /*
    1.微博表中插入数据
     */
//    @Insert("INSERT INTO weibo(content,created,user_id) VALUES (#{content},#{created},#{userId})")
    int insertWeibo(Weibo weibo);
    /**
     * 2.删除微博：
     */
//    @Delete("DELETE FROM weibo WHERE id=#{id}")
    int deleteWeiboById(Long id);
    /*
    修改微博
     */
//    @Update("UPDATE weibo SET content=#{content},created=#{created},user_id=#{userId} WHERE id=#{id}")
    int updateWeiboById(Weibo weibo);
    /*
    单条数据全字段查询
     */
//    @Select("SELECT id,content,created,user_id userId FROM weibo WHERE id=#{wid}")
    Weibo selectWeiboById(Long id);
    /*
    多条数据全字段查询
     */
//    @Select("SELECT id,content,created,user_id userId FROM weibo")
    List<Weibo> selectWeiboByI();
//    @Select("SELECT content,created FROM weibo WHERE id=#{wid}")
    WeiboVO1 selectWeiboVO1ById(Long wid);

    int dynamicUpdateWeibo(Weibo weibo);
    int deleteByIds1(Long[] ids);
    int deleteByIds2(List<Long> ids);
    /*
    10.统计微博表中的表记录条数
     */
    int selectWeiboCount();
    /*
    11.查询微博表中的id，content，userId通过mybatis配置xml文件中写入SQL语句
     */
    ResultMapVO1 selectWeiboVO1ById1(Long wid);
    ResultMapVO2 selectWeiboVO2ById2(Long uid);
    /*
    12.获取指定微博的所有评论信息，要求有微博的id，微薄的内容（content），评论的集合（List）
     */
    ResultMapVO3 selectWeiboVO3ById3(Long wid);
    ResultMapVO4 selectWeiboVO4ById4(Long wid);
}
